package com.yunxi.model.dealer;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 渠道商信息
 * </p>
 *
 * @author 
 * @since 2019-05-22
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("pms_partner")
@ApiModel(value="Partner对象", description="渠道商信息")
public class Partner implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "PARTNER_ID", type = IdType.UUID)
    private String partnerId;

    @ApiModelProperty(value = "渠道商代码")
    @TableField("PARTNER_CODE")
    private String partnerCode;

    @ApiModelProperty(value = "渠道商简称")
    @TableField("PARTNER_SIMPLE_NAME")
    private String partnerSimpleName;

    @ApiModelProperty(value = "渠道商名称")
    @TableField("PARTNER_NAME")
    private String partnerName;

    @ApiModelProperty(value = "归属销售组织")
    @TableField("PARENT_COMPANY_CODE")
    private String parentCompanyCode;

    @ApiModelProperty(value = "产品批售授权")
    @TableField("PRODUCT_AUTH_CODE")
    private String productAuthCode;

    @ApiModelProperty(value = "国家")
    @TableField("COUNTRY")
    private String country;

    @ApiModelProperty(value = "省")
    @TableField("PROVINCE")
    private String province;

    @ApiModelProperty(value = "市")
    @TableField("CITY")
    private String city;

    @ApiModelProperty(value = "区")
    @TableField("REGION")
    private String region;

    @ApiModelProperty(value = "渠道商地址")
    @TableField("ADDR")
    private String addr;

    @ApiModelProperty(value = "邮政编码")
    @TableField("POSTAL_CODE")
    private String postalCode;

    @ApiModelProperty(value = "法人代表")
    @TableField("LEGAL_PERSON")
    private String legalPerson;

    @ApiModelProperty(value = "联系人")
    @TableField("LINK_MAN")
    private String linkMan;

    @ApiModelProperty(value = "联系电话")
    @TableField("LINK_PHONE")
    private String linkPhone;

    @ApiModelProperty(value = "手机")
    @TableField("MOBILE_PHONE")
    private String mobilePhone;

    @ApiModelProperty(value = "渠道商级别")
    @TableField("PARTNER_LEVEL")
    private String partnerLevel;

    @ApiModelProperty(value = "统一信用代码")
    @TableField("UNION_CREDIT_CODE")
    private String unionCreditCode;

    @ApiModelProperty(value = "销售企业邮箱")
    @TableField("ENTWEPRISE_MAILBOX")
    private String entwepriseMailbox;

    @ApiModelProperty(value = "传真")
    @TableField("FAX")
    private String fax;

    @ApiModelProperty(value = "验收人")
    @TableField("CHECK_PERSON")
    private String checkPerson;

    @ApiModelProperty(value = "验收完成时间")
    @TableField("CHECK_TIME")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date checkTime;

    @ApiModelProperty(value = "运营状态更改时间")
    @TableField("RUN_STATUS_CHANGETIME")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date runStatusChangetime;

    @ApiModelProperty(value = "是否自提")
    @TableField("IS_AFHALEN")
    private String isAfhalen;

    @ApiModelProperty(value = "是否直送")
    @TableField("IS_DIRECT_SENDING")
    private String isDirectSending;

    @ApiModelProperty(value = "坐标x")
    @TableField("GPS_X")
    private String gpsX;

    @ApiModelProperty(value = "坐标y")
    @TableField("GPS_Y")
    private String gpsY;

    @ApiModelProperty(value = "创建时间")
    @TableField(value ="CREATE_TIME",fill = FieldFill.INSERT)
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATE_BY")
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @TableField(value ="UPDATE_TIME", fill = FieldFill.UPDATE)
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    @TableField("UPDATE_BY")
    private String updateBy;

    @ApiModelProperty(value = "状态 1入网 2退网 3冻结")
    @TableField("STATUS")
    private Integer status;

    @ApiModelProperty(value = "是否删除")
    @TableField("IS_DEL")
    private Integer isDel;

    @ApiModelProperty(value = "备注")
    @TableField("MEMO")
    private String memo;

    @ApiModelProperty(value = "伙伴类型(账户组)")
    @TableField("ACCOUNT_GROUP_CODE")
    private String accountGroupCode;

    @ApiModelProperty(value = "统驭科目 1122010000 应收账款-国内")
    @TableField("AKONT")
    private String akont;

    @ApiModelProperty(value = "操作指示符")
    @TableField("INDICATOR")
    private String indicator;

    @ApiModelProperty(value = "预留字段1")
    @TableField("ZOBL1")
    private String zobl1;

    @ApiModelProperty(value = "预留字段2")
    @TableField("ZOBL2")
    private String zobl2;

    @ApiModelProperty(value = "预留字段3")
    @TableField("ZOBL3")
    private String zobl3;

    @ApiModelProperty(value = "预留字段4")
    @TableField("ZOBL4")
    private String zobl4;

    @ApiModelProperty(value = "预留字段5")
    @TableField("ZOBL5")
    private String zobl5;

    @ApiModelProperty(value = "省代码")
    @TableField("REGIO")
    private String regio;

    @ApiModelProperty(value = "市代码")
    @TableField("CITY_CODE")
    private String cityCode;

    @ApiModelProperty(value = "区代码")
    @TableField("REGION_CODE")
    private String regionCode;

    @ApiModelProperty(value = "")
    @TableField("FULL_AREA_CODE")
    private String fullAreaCode;

    @ApiModelProperty(value = "FULL_AREA_NAME")
    @TableField("FULL_AREA_NAME")
    private String fullAreaName;

    private String productAuthCodeJson;

    @TableField("MAIN_AREA_CODE")
    private String mainAreaCode;//归属地区代码

    @TableField("MAIN_AREA_NAME")
    private String mainAreaName;//归属地区名称

    @TableField("MANAGE_AREA_CODE")
    private String manageAreaCode;//管辖范围代码

    @TableField("MANAGE_AREA_NAME")
    private String manageAreaName;//管辖范围名称

    @TableField("PRODUCT_AUTH_NAME")
    private String productAuthName;//产品授权名称

    @ApiModelProperty(value = "销售售后类型区分;1.pms; 2.ups")
    @TableField("TENANT_ID")
    private String tenantId;



    @ApiModelProperty(value = "区域负责人")
    @TableField("AREA_MANGER")
    private String areaManger;

    @ApiModelProperty(value = "功能类型")
    @TableField("FUN_TYPE")
    private String funType;

    @ApiModelProperty(value = "网点类型")
    @TableField("WEB_TYPE")
    private String webType;

    @ApiModelProperty(value = "公司名称")
    @TableField("COMPANY_NAME")
    private String companyName;

    @ApiModelProperty(value = "网点曾用名")
    @TableField("BEFOR_NAME")
    private String beforName;

    @ApiModelProperty(value = "区域负责人")
    @TableField("REGION_PERSONNEL")
    private String regionPersonnel;

    @ApiModelProperty(value = "功能类型(服务中心/服务空间)")
    @TableField("FUNCTION_TYPE")
    private String functionType;

    @ApiModelProperty(value = "网点类型(9号馆/2号馆) 9售后2销售和售后")
    @TableField("BRANCH_TYPE")
    private String branchType;

    @ApiModelProperty(value = "营业执照地址")
    @TableField("BUSINESS_LICENSE_ADDRESS")
    private String businessLicenseAddress;

    @ApiModelProperty(value = "送货地址")
    @TableField("DELIVERY_ADDRESS")
    private String deliveryAddress;

    @ApiModelProperty(value = "送货第一联系人")
    @TableField("FIRST_LINTMAN")
    private String firstLintman;

    @ApiModelProperty(value = "送货第二联系人")
    @TableField("SECOND_LINTMAN")
    private String secondLintman;

    @ApiModelProperty(value = "送货第一联系人联系方式")
    @TableField("FIRST_PHONE")
    private String firstPhone;

    @ApiModelProperty(value = "送货第二联系人联系方式")
    @TableField("SECOND_PHONE")
    private String secondPhone;

    @ApiModelProperty(value = "维修资质")
    @TableField("MAINTENANCE_QUALIFICATION")
    private String maintenanceQualification;

    @ApiModelProperty(value = "营业时间(周一至周日)")
    @TableField("BUSINESS_DATE")
    private String businessDate;

    @ApiModelProperty(value = "营业时间(9:00~21:00)")
    @TableField("BUSINESS_TIME")
    private String businessTime;

    @ApiModelProperty(value = "网点服务电话(固话)")
    @TableField("FIX_PHONE")
    private String fixPhone;

    @ApiModelProperty(value = "合同/协议邮寄地址")
    @TableField("CONTRACT_MAILING_ADDRESS")
    private String contractMailingAddress;

    @ApiModelProperty(value = "电话")
    @TableField("PHONE")
    private String phone;

    @ApiModelProperty(value = "富余电容（Kw）")
    @TableField("CAPACITANCE")
    private String capacitance;

    @ApiModelProperty(value = "现有普通充电桩数量及功率（交流，慢充）")
    @TableField("CHARGING_PILE_DESC")
    private String chargingPileDesc;

    @ApiModelProperty(value = "现有快充桩数量及功率（直流，快充）")
    @TableField("FAST_CHARGE_DESC")
    private String fastChargeDesc;

    @ApiModelProperty(value = "版本")
    @TableField("VERSION")
    @Version
    private Integer version;
}
